package com.sd.jd.sealed_test;

/**
 * Parent 是一个抽象的 sealed_test 类，它只允许 Child1 和 Child2 这两个子类继承它。
 *
 * sealed_test 关键字只能用于类定义，不能用于接口
 *
 * 一个 sealed_test 类可以有一个或多个允许的子类，这些子类必须使用 final、sealed_test 或 non-sealed_test 关键字进行标记。
 *
 * 一个 non-sealed_test 类可以有任何子类，而不仅仅是 sealed_test 声明中列出的那些。但是，在 Java 17 中没有引入 non-sealed_test 关键字；它是为了解释可能的未来扩展而提到的。
 *
 * sealed_test 提供了比 final 更细粒度的控制，允许你指定哪些类可以继承一个特定的类，而不是简单地禁止所有继承。
 */
public sealed class SealedParent permits Child1, Child2 {

}
